home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / nss / nsspki1t.h < prev    next >
C/C++ Source or Header  |  2006-04-20  |  6KB  |  206 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3.  *
  4.  * The contents of this file are subject to the Mozilla Public License Version
  5.  * 1.1 (the "License"); you may not use this file except in compliance with
  6.  * the License. You may obtain a copy of the License at
  7.  * http://www.mozilla.org/MPL/
  8.  *
  9.  * Software distributed under the License is distributed on an "AS IS" basis,
  10.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11.  * for the specific language governing rights and limitations under the
  12.  * License.
  13.  *
  14.  * The Original Code is the Netscape security libraries.
  15.  *
  16.  * The Initial Developer of the Original Code is
  17.  * Netscape Communications Corporation.
  18.  * Portions created by the Initial Developer are Copyright (C) 1994-2000
  19.  * the Initial Developer. All Rights Reserved.
  20.  *
  21.  * Contributor(s):
  22.  *
  23.  * Alternatively, the contents of this file may be used under the terms of
  24.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  25.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26.  * in which case the provisions of the GPL or the LGPL are applicable instead
  27.  * of those above. If you wish to allow use of your version of this file only
  28.  * under the terms of either the GPL or the LGPL, and not to allow others to
  29.  * use your version of this file under the terms of the MPL, indicate your
  30.  * decision by deleting the provisions above and replace them with the notice
  31.  * and other provisions required by the GPL or the LGPL. If you do not delete
  32.  * the provisions above, a recipient may use your version of this file under
  33.  * the terms of any one of the MPL, the GPL or the LGPL.
  34.  *
  35.  * ***** END LICENSE BLOCK ***** */
  36.  
  37. #ifndef NSSPKI1T_H
  38. #define NSSPKI1T_H
  39.  
  40. #ifdef DEBUG
  41. static const char NSSPKI1T_CVS_ID[] = "@(#) $RCSfile: nsspki1t.h,v $ $Revision: 1.3 $ $Date: 2005/01/20 02:25:49 $";
  42. #endif /* DEBUG */
  43.  
  44. /*
  45.  * nsspki1t.h
  46.  *
  47.  * This file contains the public type definitions for the PKIX part-1
  48.  * objects.
  49.  */
  50.  
  51. #ifndef NSSBASET_H
  52. #include "nssbaset.h"
  53. #endif /* NSSBASET_H */
  54.  
  55. PR_BEGIN_EXTERN_C
  56.  
  57. /*
  58.  * OBJECT IDENTIFIER
  59.  *
  60.  * This is the basic OID that crops up everywhere.
  61.  */
  62.  
  63. struct NSSOIDStr;
  64. typedef struct NSSOIDStr NSSOID;
  65.  
  66. /*
  67.  * AttributeTypeAndValue
  68.  *
  69.  * This structure contains an attribute type (indicated by an OID), 
  70.  * and the type-specific value.  RelativeDistinguishedNamess consist
  71.  * of a set of these.  These are distinct from Attributes (which have
  72.  * SET of values), from AttributeDescriptions (which have qualifiers
  73.  * on the types), and from AttributeValueAssertions (which assert a
  74.  * a value comparison under some matching rule).
  75.  */
  76.  
  77. struct NSSATAVStr;
  78. typedef struct NSSATAVStr NSSATAV;
  79.  
  80. /*
  81.  * RelativeDistinguishedName
  82.  *
  83.  * This structure contains an unordered set of AttributeTypeAndValue 
  84.  * objects.  RDNs are used to distinguish a set of objects underneath 
  85.  * a common object.
  86.  *
  87.  * Often, a single ATAV is sufficient to make a unique distinction.
  88.  * For example, if a company assigns its people unique uid values,
  89.  * then in the Name "uid=smith,ou=People,o=Acme,c=US" the "uid=smith"
  90.  * ATAV by itself forms an RDN.  However, sometimes a set of ATAVs is
  91.  * needed.  For example, if a company needed to distinguish between
  92.  * two Smiths by specifying their corporate divisions, then in the
  93.  * Name "(cn=Smith,ou=Sales),ou=People,o=Acme,c=US" the parenthesised
  94.  * set of ATAVs forms the RDN.
  95.  */
  96.  
  97. struct NSSRDNStr;
  98. typedef struct NSSRDNStr NSSRDN;
  99.  
  100. /*
  101.  * RDNSequence
  102.  *
  103.  * This structure contains a sequence of RelativeDistinguishedName
  104.  * objects.
  105.  */
  106.  
  107. struct NSSRDNSeqStr;
  108. typedef struct NSSRDNSeqStr NSSRDNSeq;
  109.  
  110. /*
  111.  * Name
  112.  *
  113.  * This structure contains a union of the possible name formats,
  114.  * which at the moment is limited to an RDNSequence.
  115.  */
  116.  
  117. struct NSSNameStr;
  118. typedef struct NSSNameStr NSSName;
  119.  
  120. /*
  121.  * NameChoice
  122.  *
  123.  * This enumeration is used to specify choice within a name.
  124.  */
  125.  
  126. enum NSSNameChoiceEnum {
  127.   NSSNameChoiceInvalid = -1,
  128.   NSSNameChoiceRdnSequence
  129. };
  130. typedef enum NSSNameChoiceEnum NSSNameChoice;
  131.  
  132. /*
  133.  * GeneralName
  134.  *
  135.  * This structure contains a union of the possible general names,
  136.  * of which there are several.
  137.  */
  138.  
  139. struct NSSGeneralNameStr;
  140. typedef struct NSSGeneralNameStr NSSGeneralName;
  141.  
  142. /*
  143.  * GeneralNameChoice
  144.  *
  145.  * This enumerates the possible general name types.
  146.  */
  147.  
  148. enum NSSGeneralNameChoiceEnum {
  149.   NSSGeneralNameChoiceInvalid = -1,
  150.   NSSGeneralNameChoiceOtherName = 0,
  151.   NSSGeneralNameChoiceRfc822Name = 1,
  152.   NSSGeneralNameChoiceDNSName = 2,
  153.   NSSGeneralNameChoiceX400Address = 3,
  154.   NSSGeneralNameChoiceDirectoryName = 4,
  155.   NSSGeneralNameChoiceEdiPartyName = 5,
  156.   NSSGeneralNameChoiceUniformResourceIdentifier = 6,
  157.   NSSGeneralNameChoiceIPAddress = 7,
  158.   NSSGeneralNameChoiceRegisteredID = 8
  159. };
  160. typedef enum NSSGeneralNameChoiceEnum NSSGeneralNameChoice;
  161.  
  162. /*
  163.  * The "other" types of general names.
  164.  */
  165.  
  166. struct NSSOtherNameStr;
  167. typedef struct NSSOtherNameStr NSSOtherName;
  168.  
  169. struct NSSRFC822NameStr;
  170. typedef struct NSSRFC822NameStr NSSRFC822Name;
  171.  
  172. struct NSSDNSNameStr;
  173. typedef struct NSSDNSNameStr NSSDNSName;
  174.  
  175. struct NSSX400AddressStr;
  176. typedef struct NSSX400AddressStr NSSX400Address;
  177.  
  178. struct NSSEdiPartyNameStr;
  179. typedef struct NSSEdiPartyNameStr NSSEdiPartyName;
  180.  
  181. struct NSSURIStr;
  182. typedef struct NSSURIStr NSSURI;
  183.  
  184. struct NSSIPAddressStr;
  185. typedef struct NSSIPAddressStr NSSIPAddress;
  186.  
  187. struct NSSRegisteredIDStr;
  188. typedef struct NSSRegisteredIDStr NSSRegisteredID;
  189.  
  190. /*
  191.  * GeneralNameSeq
  192.  *
  193.  * This structure contains a sequence of GeneralName objects.
  194.  * Note that the PKIX documents refer to this as "GeneralNames,"
  195.  * which differs from "GeneralName" by only one letter.  To
  196.  * try to reduce confusion, we expand the name slightly to
  197.  * "GeneralNameSeq."
  198.  */
  199.  
  200. struct NSSGeneralNameSeqStr;
  201. typedef struct NSSGeneralNameSeqStr NSSGeneralNameSeq;
  202.  
  203. PR_END_EXTERN_C
  204.  
  205. #endif /* NSSPKI1T_H */
  206.